use crate::gfx::fonts;

#[allow(dead_code)]
pub static FONT: fonts::Font = fonts::Font {
    glyph_width: 5,
    glyph_height: 8,
    left_bearing: 1,
    top_bearing: 1,
    advance_width: 6,
    line_height: 9,
    glyph_data: &GLYPHS,
    name: "appleii",
};

#[cfg_attr(rustfmt, rustfmt_skip)]
static GLYPHS: [u8; 95 * 8] = [
    // space
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // !
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,

    // "
    0b_01010_000,
    0b_01010_000,
    0b_01010_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // #
    0b_01010_000,
    0b_01010_000,
    0b_11111_000,
    0b_01010_000,
    0b_11111_000,
    0b_01010_000,
    0b_01010_000,
    0b_00000_000,

    // $
    0b_00100_000,
    0b_01111_000,
    0b_10100_000,
    0b_01110_000,
    0b_00101_000,
    0b_11110_000,
    0b_00100_000,
    0b_00000_000,

    // %
    0b_11000_000,
    0b_11001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_10011_000,
    0b_00011_000,
    0b_00000_000,

    // &
    0b_01000_000,
    0b_10100_000,
    0b_10100_000,
    0b_01000_000,
    0b_10101_000,
    0b_10010_000,
    0b_01101_000,
    0b_00000_000,

    // '
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // (
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_01000_000,
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00000_000,

    // )
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00010_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_00000_000,

    // *
    0b_00100_000,
    0b_10101_000,
    0b_01110_000,
    0b_00100_000,
    0b_01110_000,
    0b_10101_000,
    0b_00100_000,
    0b_00000_000,

    // +
    0b_00000_000,
    0b_00100_000,
    0b_00100_000,
    0b_11111_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,
    0b_00000_000,

    // ,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00100_000,
    0b_00100_000,
    0b_01000_000,
    0b_00000_000,

    // -
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_11111_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // .
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,

    // /
    0b_00000_000,
    0b_00001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_10000_000,
    0b_00000_000,
    0b_00000_000,

    // 0
    0b_01110_000,
    0b_10001_000,
    0b_10011_000,
    0b_10101_000,
    0b_11001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // 1
    0b_00100_000,
    0b_01100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_01110_000,
    0b_00000_000,

    // 2
    0b_01110_000,
    0b_10001_000,
    0b_00001_000,
    0b_00110_000,
    0b_01000_000,
    0b_10000_000,
    0b_11111_000,
    0b_00000_000,

    // 3
    0b_11111_000,
    0b_00001_000,
    0b_00010_000,
    0b_00110_000,
    0b_00001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // 4
    0b_00010_000,
    0b_00110_000,
    0b_01010_000,
    0b_10010_000,
    0b_11111_000,
    0b_00010_000,
    0b_00010_000,
    0b_00000_000,

    // 5
    0b_11111_000,
    0b_10000_000,
    0b_11110_000,
    0b_00001_000,
    0b_00001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // 6
    0b_00111_000,
    0b_01000_000,
    0b_10000_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // 7
    0b_11111_000,
    0b_00001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_01000_000,
    0b_01000_000,
    0b_00000_000,

    // 8
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // 9
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_01111_000,
    0b_00001_000,
    0b_00001_000,
    0b_11110_000,
    0b_00000_000,

    // :
    0b_00000_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // ;
    0b_00000_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,
    0b_00100_000,
    0b_00100_000,
    0b_01000_000,
    0b_00000_000,

    // <
    0b_00001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00001_000,
    0b_00000_000,

    // =
    0b_00000_000,
    0b_00000_000,
    0b_11111_000,
    0b_00000_000,
    0b_11111_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // >
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_00000_000,

    // ?
    0b_01110_000,
    0b_10001_000,
    0b_00010_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,
    0b_00100_000,
    0b_00000_000,

    // @
    0b_01110_000,
    0b_10001_000,
    0b_10101_000,
    0b_10111_000,
    0b_10110_000,
    0b_10000_000,
    0b_01111_000,
    0b_00000_000,

    // A
    0b_00100_000,
    0b_01010_000,
    0b_10001_000,
    0b_11111_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,


    // B
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_00000_000,

    // C
    0b_01110_000,
    0b_10001_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // D
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_00000_000,

    // E
    0b_11111_000,
    0b_10000_000,
    0b_10000_000,
    0b_11110_000,
    0b_10000_000,
    0b_10000_000,
    0b_11111_000,
    0b_00000_000,

    // F
    0b_11111_000,
    0b_10000_000,
    0b_10000_000,
    0b_11110_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_00000_000,

    // G
    0b_01111_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10011_000,
    0b_10001_000,
    0b_01111_000,
    0b_00000_000,

    // H
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_11111_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // I
    0b_01110_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_01110_000,
    0b_00000_000,

    // J
    0b_00001_000,
    0b_00001_000,
    0b_00001_000,
    0b_00001_000,
    0b_00001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // K
    0b_10001_000,
    0b_10010_000,
    0b_10100_000,
    0b_11000_000,
    0b_10100_000,
    0b_10010_000,
    0b_10001_000,
    0b_00000_000,

    // L
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_11111_000,
    0b_00000_000,

    // M
    0b_10001_000,
    0b_11011_000,
    0b_10101_000,
    0b_10101_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // N
    0b_10001_000,
    0b_10001_000,
    0b_11001_000,
    0b_10101_000,
    0b_10011_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // O
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // P
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_00000_000,

    // Q
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10101_000,
    0b_10010_000,
    0b_01101_000,
    0b_00000_000,

    // R
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_10100_000,
    0b_10010_000,
    0b_10001_000,
    0b_00000_000,

    // S
    0b_01110_000,
    0b_10001_000,
    0b_10000_000,
    0b_01110_000,
    0b_00001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // T
    0b_11111_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,

    // U
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // V
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01010_000,
    0b_00100_000,
    0b_00000_000,

    // W
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10101_000,
    0b_10101_000,
    0b_11011_000,
    0b_10001_000,
    0b_00000_000,

    // X
    0b_10001_000,
    0b_10001_000,
    0b_01010_000,
    0b_00100_000,
    0b_01010_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // Y
    0b_10001_000,
    0b_10001_000,
    0b_01010_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00000_000,

    // Z
    0b_11111_000,
    0b_00001_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_10000_000,
    0b_11111_000,
    0b_00000_000,

    // [
    0b_11111_000,
    0b_11000_000,
    0b_11000_000,
    0b_11000_000,
    0b_11000_000,
    0b_11000_000,
    0b_11111_000,
    0b_00000_000,

    // \
    0b_00000_000,
    0b_10000_000,
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00001_000,
    0b_00000_000,
    0b_00000_000,

    // ]
    0b_11111_000,
    0b_00011_000,
    0b_00011_000,
    0b_00011_000,
    0b_00011_000,
    0b_00011_000,
    0b_11111_000,
    0b_00000_000,

    // ^
    0b_00000_000,
    0b_00000_000,
    0b_00100_000,
    0b_01010_000,
    0b_10001_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // _
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_11111_000,
    0b_00000_000,

    // `
    0b_01000_000,
    0b_00100_000,
    0b_00010_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,

    // a
    0b_00000_000,
    0b_00000_000,
    0b_01110_000,
    0b_00001_000,
    0b_01111_000,
    0b_10001_000,
    0b_01111_000,
    0b_00000_000,

    // b
    0b_10000_000,
    0b_10000_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_00000_000,

    // c
    0b_00000_000,
    0b_00000_000,
    0b_01111_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_01111_000,
    0b_00000_000,

    // d
    0b_00001_000,
    0b_00001_000,
    0b_01111_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01111_000,
    0b_00000_000,

    // e
    0b_00000_000,
    0b_00000_000,
    0b_01110_000,
    0b_10001_000,
    0b_11111_000,
    0b_10000_000,
    0b_01111_000,
    0b_00000_000,

    // f
    0b_00110_000,
    0b_01001_000,
    0b_01000_000,
    0b_11110_000,
    0b_01000_000,
    0b_01000_000,
    0b_01000_000,
    0b_00000_000,

    // g
    0b_00000_000,
    0b_00000_000,
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_01111_000,
    0b_00001_000,
    0b_01110_000,

    // h
    0b_10000_000,
    0b_10000_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // i
    0b_00100_000,
    0b_00000_000,
    0b_01100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_01110_000,
    0b_00000_000,

    // j
    0b_00010_000,
    0b_00000_000,
    0b_00110_000,
    0b_00010_000,
    0b_00010_000,
    0b_00010_000,
    0b_10010_000,
    0b_01100_000,

    // k
    0b_10000_000,
    0b_10000_000,
    0b_10001_000,
    0b_10010_000,
    0b_11100_000,
    0b_10010_000,
    0b_10001_000,
    0b_00000_000,

    // l
    0b_01100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_01110_000,
    0b_00000_000,

    // m
    0b_00000_000,
    0b_00000_000,
    0b_11011_000,
    0b_10101_000,
    0b_10101_000,
    0b_10101_000,
    0b_10101_000,
    0b_00000_000,

    // n
    0b_00000_000,
    0b_00000_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_00000_000,

    // o
    0b_00000_000,
    0b_00000_000,
    0b_01110_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01110_000,
    0b_00000_000,

    // p
    0b_00000_000,
    0b_00000_000,
    0b_11110_000,
    0b_10001_000,
    0b_10001_000,
    0b_11110_000,
    0b_10000_000,
    0b_10000_000,

    // q
    0b_00000_000,
    0b_00000_000,
    0b_01111_000,
    0b_10001_000,
    0b_10001_000,
    0b_01111_000,
    0b_00001_000,
    0b_00001_000,

    // r
    0b_00000_000,
    0b_00000_000,
    0b_10111_000,
    0b_11000_000,
    0b_10000_000,
    0b_10000_000,
    0b_10000_000,
    0b_00000_000,

    // s
    0b_00000_000,
    0b_00000_000,
    0b_01111_000,
    0b_10000_000,
    0b_01110_000,
    0b_00001_000,
    0b_11110_000,
    0b_00000_000,

    // t
    0b_01000_000,
    0b_01000_000,
    0b_11110_000,
    0b_01000_000,
    0b_01000_000,
    0b_01001_000,
    0b_00110_000,
    0b_00000_000,

    // u
    0b_00000_000,
    0b_00000_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_10011_000,
    0b_01101_000,
    0b_00000_000,

    // v
    0b_00000_000,
    0b_00000_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01010_000,
    0b_00100_000,
    0b_00000_000,

    // w
    0b_00000_000,
    0b_00000_000,
    0b_10001_000,
    0b_10001_000,
    0b_10101_000,
    0b_10101_000,
    0b_11011_000,
    0b_00000_000,

    // x
    0b_00000_000,
    0b_00000_000,
    0b_10001_000,
    0b_01010_000,
    0b_00100_000,
    0b_01010_000,
    0b_10001_000,
    0b_00000_000,

    // y
    0b_00000_000,
    0b_00000_000,
    0b_10001_000,
    0b_10001_000,
    0b_10001_000,
    0b_01111_000,
    0b_00001_000,
    0b_01110_000,

    // z
    0b_00000_000,
    0b_00000_000,
    0b_11111_000,
    0b_00010_000,
    0b_00100_000,
    0b_01000_000,
    0b_11111_000,
    0b_00000_000,

    // {
    0b_00111_000,
    0b_01100_000,
    0b_01100_000,
    0b_11000_000,
    0b_01100_000,
    0b_01100_000,
    0b_00111_000,
    0b_00000_000,

    // |
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,
    0b_00100_000,

    // }
    0b_11100_000,
    0b_00110_000,
    0b_00110_000,
    0b_00011_000,
    0b_00110_000,
    0b_00110_000,
    0b_11100_000,
    0b_00000_000,

    // ~
    0b_01101_000,
    0b_10110_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
    0b_00000_000,
];
